home *** CD-ROM | disk | FTP | other *** search
Wrap
1 CLS:KEY OFF 2 REM EPSON PRINTER :: Version 1.0 :: 1 March 1985 3 REM By Fred Heutte, Evaluation Research Corporation 4 REM 310 SW 4th, Suite 412 o Portland, Oregon 97204 5 REM 503/241-0858 6 REM This program was written for the Epson MX-100 and similar 7 REM printers. It was written in Microsoft BASIC on a Columbia MPC. 8 REM This program may be freely used and modified provided that lines 9 REM 1-10 remain intact. If modifications are made, please notify the 10 REM author. Distribution for sale is NOT permitted. 11 KEY 1,"HELP "+CHR$(13) 12 KEY 2,"MENU "+CHR$(13) 13 KEY 3,"STATUS"+CHR$(13) 14 KEY 4,"PAGE "+CHR$(13) 15 KEY 5,"LINE "+CHR$(13) 16 KEY 6,"FORMAT"+CHR$(13) 17 KEY 7,"RESET "+CHR$(13) 18 KEY 8,"STYLES"+CHR$(13) 19 KEY 9,"TEST "+CHR$(13) 20 KEY 10,"EXIT "+CHR$(13) 21 KEY ON 22 C$=CHR$(27) 24 CF$=C$+"W"+CHR$(0)+C$+"F"+C$+"H"+C$+"5"+CHR$(18):REM Clear Font 26 SS$(1)="71 Superscript printing is selected.":SS$(2)="72 Subscript printing is selected." 27 DIM S(25) 28 E$=SPACE$(60) 30 REM ************************************** 32 REM *** MODULE 30: SCREEN FONT TABLE *** 34 REM ************************************** 36 DIM MP$(60):DIM MS$(60) 38 MP$(11)="" :MS$(11)="11 Standard Pica" 39 MP$(12)=C$+"W"+CHR$(1) :MS$(12)="12 Double Width Pica" 40 MP$(13)=C$+"E" :MS$(13)="13 Emphasized Pica" 41 MP$(14)=C$+"G" :MS$(14)="14 Double Strike Pica" 42 MP$(15)=C$+"4" :MS$(15)="15 Italic Pica" 48 MP$(21)=CHR$(15) :MS$(21)="21 Standard Compressed" 49 MP$(22)=CHR$(15)+C$+"W"+CHR$(1):MS$(22)="22 Double Width Compressed" 50 MP$(24)=CHR$(15)+C$+"G" :MS$(24)="24 Double Strike Compressed" 51 MP$(25)=CHR$(15)+C$+"4" :MS$(25)="25 Italic Compressed" 58 LPRINT CHR$(27)"@";:MS$(MS)="11 Standard Pica":F1=11:F2=12:FA2=6:F3=1:F4=80 60 GOTO 200 70 REM **************************************** 72 REM *** MODULE 70: FUNCTION KEY CALLS *** 74 REM *************************************** 76 IF K$="EXIT" THEN CLS:SYSTEM 78 IF K$="HELP" THEN GOSUB 100 80 IF K$="STATUS" THEN GOSUB 300 82 IF K$="PAGE" THEN GOSUB 400 84 IF K$="LINE" THEN GOSUB 500 86 IF K$="FORMAT" THEN GOSUB 600 88 IF K$="RESET" THEN GOSUB 700 90 IF K$="STYLES" THEN GOSUB 800 92 IF K$="TEST" THEN GOSUB 900 94 RETURN 100 REM ********************************* 102 REM *** MODULE 100: HELP SCREEN *** 104 REM ********************************* 106 CLS:COLOR 15:PRINT " EPSON PRINTER :: HELP SCREEN":COLOR 7 108 PRINT 110 COLOR 15:PRINT " .============================== FUNCTION KEYS ===========================.":COLOR 7 112 PRINT " :";:PRINT TAB(78) ":" 114 PRINT " : F1 HELP Displays this screen.";:PRINT TAB(78) ":" 116 PRINT " : F2 MENU Displays the Main Menu.";:PRINT TAB(78) ":" 118 PRINT " : F3 STATUS Displays current printer font, style and format settings.";:PRINT TAB(78) ":" 120 PRINT " : F4 PAGE Advances printer to top of next page.";:PRINT TAB(78) ":" 122 PRINT " : F5 LINE Advances printer one line.";:PRINT TAB(78) ":" 124 PRINT " : F6 FORMAT Displays page format menu.";:PRINT TAB(78) ":" 126 PRINT " : F7 RESET Restores printer to power-up settings.";:PRINT TAB(78) ":" 128 PRINT " : F8 STYLES Prints a sample of available fonts and type faces.";:PRINT TAB(78) ":" 130 PRINT " : F9 TEST Prints a test line using current printer settings.";:PRINT TAB(78) ":" 132 PRINT " : F10 EXIT Exits to DOS, saving current printer settings.";:PRINT TAB(78) ":" 134 PRINT " :..........................................................................: 136 PRINT 140 PRINT 142 PRINT TAB(12) CHR$(16);:PRINT " For more detailed HELP files, read EPSON.DOC. 144 PRINT 148 COLOR 15:PRINT TAB(12);:INPUT "Press any key to continue . . . ",H$ 150 COLOR 7:IF H$="H" THEN RETURN ELSE RETURN 200 REM ******************************* 202 REM *** MODULE 200: MAIN MENU *** 204 REM ******************************* 206 CLS 210 COLOR 15:PRINT " EPSON PRINTER :: MAIN MENU 211 PRINT 212 PRINT " .======== PICA =========. .===== COMPRESSED ======. 213 COLOR 7:PRINT " : (10 chars per inch) : : (17 chars per inch) : 214 PRINT " : : : : 215 PRINT " : 11 Standard : : 21 Standard : 216 PRINT " : 12 Double Width : : 22 Double Width : 217 PRINT " : 13 Emphasized : : : 218 PRINT " : 14 Double Strike : : 24 Double Strike : 219 PRINT " : 15 Italic : : 25 Italic : 220 PRINT " :.......................: :.......................: 221 PRINT 231 PRINT 232 LOCATE 13,21:PRINT E$:LOCATE 13,1:COLOR 15:INPUT " Your choice: ",M$:COLOR 7 234 IF M$="MENU" GOTO 200 236 IF M$="HELP" THEN GOSUB 100:GOTO 200 238 M=VAL(M$):IF M=0 THEN K$=M$:GOSUB 70:GOTO 232 240 IF M<11 OR M>25 THEN LOCATE 15:PRINT E$:LOCATE 15:PRINT TAB(10) "Choose a selection between 11 and 25 . . .":PRINT:GOTO 232 242 IF M=16 OR M=17 OR M=18 OR M=19 OR M=20 OR M=23 THEN LOCATE 15:PRINT E$:LOCATE 15:PRINT TAB(10) M "is an invalid entry. Please try again . . .":PRINT:GOTO 232 248 LPRINT CF$; 250 MS=M 252 LPRINT MP$(MS);:LOCATE 15:PRINT E$:LOCATE 15:PRINT TAB(10) MS$(MS) " selected." 254 IF M=11 OR M=13 OR M=14 OR M=15 THEN F4=1:F5=80:GOTO 232 256 IF M=12 THEN F4=1:F5=40:GOTO 232 258 IF M=21 OR M=24 OR M=25 THEN F4=1:F5=132:GOTO 232 262 IF M=22 THEN F4=1:F5=68:GOTO 232 300 REM ************************************ 302 REM *** MODULE 300: KEY 3 (STATUS) *** 304 REM ************************************ 305 LOCATE 17:PRINT E$ 306 LOCATE 17:PRINT TAB(13);:PRINT "The printer is set for "MS$(MS);:PRINT "." 309 IF SS>0 THEN PRINT TAB(13) SS$(SS) 310 PRINT TAB(13);:PRINT "Page Length ="F1;:PRINT "inches Line Spacing ="FA2;:PRINT "per inch 312 PRINT TAB(13);:PRINT "Right Margin ="F4 314 PRINT TAB(13);:PRINT "Skip Over Form ="F3;:PRINT "lines 316 RETURN 400 REM *************************************** 402 REM *** MODULE 400: KEY 4 (PAGE FEED) *** 404 REM *************************************** 406 LPRINT CHR$(12); 407 LOCATE 15:PRINT TAB(10) "Pagefeed selected." 408 RETURN 500 REM ************************************** 502 REM *** MODULE 500: KEY 5 (LINEFEED) *** 504 REM ************************************** 506 LPRINT CHR$(10); 507 LOCATE 15:PRINT TAB(10) "Linefeed selected." 508 RETURN 600 REM ********************************************** 602 REM *** MODULE 600: FUNCTION KEY 6 (FORMATS) *** 604 REM ********************************************** 606 CLS 608 PRINT " EPSON PRINTER :: FORMAT MENU 610 PRINT " 612 PRINT " ....................................................... 614 PRINT " : : 616 PRINT " : 1 Page Length ="; 618 PRINT F1"inches (default=11)";:PRINT TAB(64)":" 620 PRINT " : 2 Line Spacing ="; 622 PRINT FA2"per inch (default=6)";:PRINT TAB(64)":" 624 PRINT " : 3 Skip over form ="; 626 PRINT F3"line(s) (default=1 line)";:PRINT TAB(64)":" 632 PRINT " : 4 Right Margin = Column"; 634 PRINT F4" (default=80)";:PRINT TAB(64)":" 640 PRINT " : 5 Return Settings to Default Values : 642 PRINT " :.....................................................: 644 PRINT " 646 PRINT " 648 COLOR 15:LOCATE 12,26:PRINT SPACE$(30):LOCATE 12,1:INPUT " Your choice: ",F$:COLOR 7 650 IF F$="MENU" GOTO 200 651 IF F$="HELP" THEN GOSUB 100:GOTO 600 652 F=VAL(F$) 654 IF F=5 THEN F1=11:F2=12:FA2=6:F3=1:F4=80:GOSUB 680:GOTO 600 656 IF F=0 THEN K$=F$:GOSUB 70:GOTO 648 658 IF F>5 THEN PRINT TAB(15) "Choose a selection between 1 and 6 . . . ":PRINT:GOTO 648 660 PRINT:PRINT TAB(13):ON F GOSUB 662,664,666,670:GOSUB 680:GOTO 600 662 INPUT "Set page length (1-22 inches): ",F1 663 IF F1<1 OR F1>22 THEN PRINT TAB(13);:PRINT "Choose a value between 1 and 22":PRINT:PRINT TAB(13):GOTO 662 ELSE RETURN 664 INPUT "Set line spacing (1-72 per inch): ",FA2:F2=CINT(72/FA2) 665 IF FA2<1 OR FA2>72 THEN PRINT TAB(13);:PRINT "Choose a value between 1 and 72":PRINT:PRINT TAB(13):GOTO 664 ELSE RETURN 666 INPUT "Set skip over form (1-127 lines): ",F3 667 IF F3<1 OR F3>127 THEN PRINT TAB(13);:PRINT "Choose a value between 1 and 127":PRINT:PRINT TAB(13):GOTO 666 ELSE RETURN 670 INPUT "Set right margin: ",F4 671 IF F4>80 THEN PRINT TAB(13);:PRINT "Choose a value between 2 and 80":GOTO 670 ELSE RETURN 680 REM *************************************************** 682 REM *** MODULE 680: SEND PRINTER FORMAT SETTINGS *** 684 REM *************************************************** 686 LPRINT C$+"C"+CHR$(0)+CHR$(F1); 688 LPRINT C$+"A"+CHR$(F2); 690 LPRINT C$+"N"+CHR$(F3); 692 LPRINT C$+"Q"+CHR$(F4); 696 LPRINT C$+"Q"+CHR$(F5); 698 RETURN 700 REM ******************************************** 702 REM *** MODULE 700: FUNCTION KEY 7 (RESET) *** 704 REM ******************************************** 706 SS=0:MS=11:IS$="USA":I=0:F1=11:F2=12:FA2=6:F3=1:F4=80:F5=8:LPRINT CHR$(27)+"@"; 708 PRINT:PRINT TAB(13);:PRINT "The printer has been reset to the start-up 710 PRINT TAB(13);:PRINT "configuration, including the Top-of-Form setting." 712 PRINT:RETURN 800 REM ************************************ 802 REM *** MODULE 800: KEY 8 (STYLES) *** 804 REM ************************************ 806 COLOR 23:PRINT:PRINT TAB(13);:PRINT "Printing Styles Catalogue . . .":PRINT:COLOR 7 808 LPRINT:LPRINT:LPRINT:LPRINT 810 LPRINT " EPSON PRINTER :: STYLES CATALOGUE 812 LPRINT:LPRINT 814 LPRINT " The following styles can be selected from the Main Menu: 816 LPRINT:LPRINT 820 S(1)=11:S(2)=12:S(3)=13:S(4)=14:S(5)=15:S(6)=21:S(7)=22 822 S(8)=24:S(9)=25 826 FOR U=1 TO 9 828 LPRINT CF$ 830 LPRINT MP$(S(U));:LPRINT MS$(S(U)) 832 NEXT U 834 LPRINT CF$:LPRINT:LPRINT:LPRINT:LPRINT MP$(MS) 836 LPRINT "The printer is currently set for "MS$(MS);:LPRINT "." 838 LPRINT CHR$(12);: 840 LOCATE 15:PRINT E$ 842 RETURN 900 REM ******************************************* 902 REM *** MODULE 900: FUNCTION KEY 9 (TEST) *** 904 REM ******************************************* 906 LPRINT "The printer is set for "MS$(MS);:LPRINT "." 909 IF SS>0 THEN LPRINT SS$(SS) 910 FOR T1=65 TO 90:LPRINT CHR$(T1);:NEXT T1 912 FOR T2=97 TO 122:LPRINT CHR$(T2);:NEXT T2 914 FOR T3=48 TO 57:LPRINT CHR$(T3);:NEXT T3 916 FOR T4=91 TO 94:LPRINT CHR$(T4);:NEXT T4 918 FOR T5=123 TO 126:LPRINT CHR$(T5);:NEXT T5 920 FOR T=1 TO 4:LPRINT CHR$(10):NEXT T 922 RETURN 1100 REM ********************************************** 1102 REM *** MODULE 1100: SUPERSCRIPT & SUBSCRIPT *** 1104 REM ********************************************** 1106 IF M=71 THEN LPRINT C$+"S"+CHR$(0);:SS=1:PRINT TAB(9) SS$(1):RETURN 1108 IF M=72 THEN LPRINT C$+"S"+CHR$(1);:SS=2:PRINT TAB(9) SS$(2):RETURN 6000 REM Program development loop: save and return to edit 6020 CLS 6040 SAVE "B:EPSON":SAVE "B:EPSON.BAK" 6100 KEY OFF 6110 KEY 1,"LIST"+CHR$(13) 6120 KEY 2,"RUN"+CHR$(13) 6130 KEY 3,"EDIT "+CHR$(34) 6140 KEY 4,"LOAD "+CHR$(34) 6150 KEY 5,"SAVE "+CHR$(34) 6160 KEY 6,"CHR$(" 6170 KEY 7,"PRINT "+CHR$(34) 6180 KEY 8,"LPRINT "+CHR$(34) 6190 KEY 9,"NEW"+CHR$(13) 6200 KEY 10,"SYSTEM"+CHR$(13) 6210 KEY ON 6400 PRINT "Epson printer loaded for editing." 6500 LOAD "B:epson